﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ)
	///</summary>
	[DataContract]
	public enum ТипыФильтровПриРаспределенииЗатратНаВыпуск
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"cb7864c4-8832-4e73-8464-4289bc1a74fc\", \"Представление\":\"НоменклатурныеГруппы\"}")]
		НоменклатурныеГруппы = 0,//Номенклатурные группы
		[EnumMember(Value = "{\"Ссылка\":\"399803b9-1d08-42e3-a73b-f752bb395f4c\", \"Представление\":\"Продукция\"}")]
		Продукция = 1,
	}
	public static partial class ТипыФильтровПриРаспределенииЗатратНаВыпуск_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid НоменклатурныеГруппы = new Guid("89426484-1abc-fc74-4e73-8832cb7864c4");//Номенклатурные группы
		public static readonly Guid Продукция = new Guid("52f73ba7-39bb-4c5f-42e3-1d08399803b9");
		public static ТипыФильтровПриРаспределенииЗатратНаВыпуск Получить(this ТипыФильтровПриРаспределенииЗатратНаВыпуск Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ТипыФильтровПриРаспределенииЗатратНаВыпуск Получить(this ТипыФильтровПриРаспределенииЗатратНаВыпуск Значение, Guid Ссылка)
		{
			if(Ссылка == НоменклатурныеГруппы)
			{
				return ТипыФильтровПриРаспределенииЗатратНаВыпуск.НоменклатурныеГруппы;
			}
			else if(Ссылка == Продукция)
			{
				return ТипыФильтровПриРаспределенииЗатратНаВыпуск.Продукция;
			}
			return ТипыФильтровПриРаспределенииЗатратНаВыпуск.ПустаяСсылка;
		}
		public static byte[] Ключ(this ТипыФильтровПриРаспределенииЗатратНаВыпуск Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ТипыФильтровПриРаспределенииЗатратНаВыпуск Значение)
		{
			switch (Значение)
			{
				case ТипыФильтровПриРаспределенииЗатратНаВыпуск.НоменклатурныеГруппы: return НоменклатурныеГруппы;
				case ТипыФильтровПриРаспределенииЗатратНаВыпуск.Продукция: return Продукция;
			}
			return Guid.Empty;
		}
	}
}